home *** CD-ROM | disk | FTP | other *** search
GNU Info File | 1995-07-03 | 12.7 KB | 380 lines |
- This is Info file ispell.info, produced by Makeinfo-1.55 from the input
- file ispell.texinfo.
-
- This file documents ISPELL, an interactive spelling corrector.
-
- Copyright 1988, 1990, 1991, 1992, 1993 Free Software Foundation,
- Inc.
-
- Permission is granted to make and distribute verbatim copies of this
- manual provided the copyright notice and this permission notice are
- preserved on all copies.
-
- Permission is granted to copy and distribute modified versions of
- this manual under the conditions for verbatim copying, provided that
- the entire resulting derived work is distributed under the terms of a
- permission notice identical to this one.
-
- Permission is granted to copy and distribute translations of this
- manual into another language, under the above conditions for modified
- versions, except that this permission notice may be stated in a
- translation approved by the Foundation.
-
- * Menu:
-
- * Emacs:: Using ispell from emacs
- * Old Emacs:: Old Emacs
- * Private:: Your private dictionary
- * Command summary:: All commands in emacs mode
- * Near misses:: Definition of a near miss
- * History:: Where it came from
-
- -- The Detailed Node Listing --
-
- Using ispell from emacs
-
- * Word:: Checking a single word
- * Buffer:: Checking a whole buffer
- * Region:: Checking a region
- * Multiple Dictionaries:: Using Multiple Dictionaries
-
- File: ispell.info, Node: Top, Next: Emacs, Prev: (dir), Up: (dir)
-
- `Ispell' is a program that helps you to correct spelling errors in a
- file, and to find the correct spelling of words. When presented with a
- word that is not in the dictionary, `ispell' attempts to find "near
- misses" that might include the word you meant.
-
- This manual describes how to use ispell, as well as a little about
- its implementation.
-
- * Menu:
-
- * Emacs:: Using ispell from emacs
- * Old Emacs:: Old Emacs
- * Private:: Your private dictionary
- * Command summary:: All commands in emacs mode
- * Near misses:: Definition of a near miss
- * History:: Where it came from
-
- File: ispell.info, Node: Emacs, Next: Old Emacs, Prev: Top, Up: Top
-
- Using ispell from emacs
- =======================
-
- * Menu:
-
- * Word:: Checking a single word
- * Buffer:: Checking a whole buffer
- * Region:: Checking a region
- * Multiple Dictionaries:: Using Multiple Dictionaries
-
- File: ispell.info, Node: Word, Next: Buffer, Prev: Emacs, Up: Emacs
-
- Checking a single word
- ----------------------
-
- The simplest emacs command for calling ispell is 'M-$' (meta-dollar.
- On some terminals, you must type ESC-$.) This checks the spelling of
- the word under the cursor. If the word is found in the dictionary,
- then a message is printed in the echo area. Otherwise, ISPELL attempts
- to generate near misses.
-
- If any near misses are found, they are displayed in a separate
- window, each preceded by a digit or character. If one of these is the
- word you wanted, just type its digit or character, and it will replace
- the original word in your buffer.
-
- If no near miss is right, or if none are displayed, you have five
- choices:
-
- `I'
- Insert the word in your private dictionary. Use this if you know
- that the word is spelled correctly.
-
- `A'
- Accept the word for the duration of this editing session, but do
- not put it in your private dictionary. Use this if you are not
- sure about the spelling of the word, but you do not want to look
- it up immediately, or for terms that appear in your document but
- are not truly words. The next time you start ispell, it will have
- forgotten any accepted words.
-
- `SPC'
- Leave the word alone, and consider it misspelled if it is checked
- again.
-
- `R'
- Replace the word. This command prompts you for a string in the
- minibuffer. You may type more than one word, and each word you
- type is checked again, possibly finding other near misses. This
- command provides a handy way to close in on a word that you have
- no idea how to spell. You can keep trying different spellings
- until you find one that is close enough to get a near miss.
-
- `L'
- Lookup. Display words from the dictionary that contain a
- specified substring. The substring is a regular expression, which
- means it can contain special characters to be more selective about
- which words get displayed. *Note Regexps: (emacs)Regexps.
-
- If the only special character in the regular expression is a
- leading `^', then a very fast binary search will be used, instead
- of scanning the whole file.
-
- Only a few matching words can be displayed in the ISPELL window.
- If you want to see more, use the `look' program directly from the
- shell.
-
- Of course, you can also type G' to stop the command without
- changing anything.
-
- If you make a change that you don't like, just use emacs' normal undo
- feature *Note undo: (emacs)undo.
-
- File: ispell.info, Node: Buffer, Next: Region, Prev: Word, Up: Emacs
-
- Checking a whole buffer
- -----------------------
-
- If you want to check the spelling of all the words in a buffer, type
- the command `M-x ispell-buffer'. This command scans the file, and makes
- a list of all the misspelled words. When it is done, it moves the
- cursor to the first word on the list, and acts like you just typed M-$
- *Note Word::.
-
- When you finish with one word, the cursor is automatically moved to
- the next. If you want to stop in the middle of the list type `X' or
- G'.
-
- File: ispell.info, Node: Region, Next: Multiple Dictionaries, Prev: Buffer, Up: Emacs
-
- Checking a region
- -----------------
-
- You may check the words in the region with the command `M-x
- ispell-region'. See *Note mark: (emacs)mark.
-
- The commands available are the same as for checking a whole buffer.
-
- File: ispell.info, Node: Multiple Dictionaries, Prev: Region, Up: Emacs
-
- Using Multiple Dictionaries
- ---------------------------
-
- Your site may have multiple dictionaries installed: a default one
- (usually `english.hash'), and several others for different languages
- (e.g. `deutsch.hash') or variations on a language (such as British
- spelling for English).
-
- `ispell-change-dictionary'
- This is the command to change the dictionary. It prompts for a new
- dictionary name, with completion on the elements of
- `ispell-dictionary'.
-
- It changes `ispell-dictionary' and kills the old ispell process, if
- one was running. A new one will be started as soon as necessary.
-
- By just answering `RET' you can find out what the current
- dictionary is.
-
- `ispell-dictionary'
- If non-nil, a dictionary to use instead of the default one. This
- is passed to the ispell process using the `-d' switch and is used
- as key in `ispell-dictionary-alist'.
-
- You should set this variable before your first call to ispell
- (e.g. in your `.emacs'), or use the `M-x ispell-change-dictionary'
- command to change it, as changing this variable only takes effect
- in a newly started ispell process.
-
- `ispell-dictionary-alist'
- An alist of dictionaries and their associated parameters.
-
- Each element of this list is also a list:
-
- (DICTIONARY-NAME
- CASECHARS NOT-CASECHARS OTHERCHARS MANY-OTHERCHARS-P
- ISPELL-ARGS)
-
- DICTIONARY-NAME is a possible value of variable
- `ispell-dictionary', `nil' means the default dictionary.
-
- CASECHARS is a regular expression of valid characters that
- comprise a word.
-
- NOT-CASECHARS is the opposite regexp of CASECHARS.
-
- OTHERCHARS is a regular expression of other characters that are
- valid in word constructs. Otherchars cannot be adjacent to each
- other in a word, nor can they begin or end a word. This implies
- we can't check `Stevens'' as a correct possessive and other correct
- formations.
-
- Hint: regexp syntax requires the hyphen to be declared first here.
-
- MANY-OTHERCHARS-P is non-nil if many otherchars are to be allowed
- in a word instead of only one.
-
- ISPELL-ARGS is a list of additional arguments passed to the ispell
- subprocess.
-
- Note that the CASECHARS and OTHERCHARS slots of the alist should
- contain the same character set as casechars and otherchars in the
- LANGUAGE`.aff' file (e.g., `english.aff').
-
- File: ispell.info, Node: Old Emacs, Next: Private, Prev: Emacs, Up: Top
-
- Old Emacs
- =========
-
- Until ispell becomes part of the standard emacs distribution, you
- will have to explicitly request that it be loaded. Put the following
- lines in your emacs init file *Note init file: (emacs)init file.
-
- (autoload 'ispell-word "ispell" "Check the spelling of word in buffer." t)
- (autoload 'ispell-region "ispell" "Check the spelling of region." t)
- (autoload 'ispell-buffer "ispell" "Check the spelling of buffer." t)
- (global-set-key "\e$" 'ispell-word)
-
- (It will do no harm to have these lines in your init file even after
- ispell is installed by default.)
-
- File: ispell.info, Node: Private, Next: Command summary, Prev: Old Emacs, Up: Top
-
- Your private dictionary
- =======================
-
- Whenever ispell is started the file `.ispell_words' is read from
- your home directory (if it exists). This file contains a list of words,
- one per line. The order of the words is not important, but the case is.
- Ispell will consider all of the words good, and will use them as
- possible near misses.
-
- The `I' command adds words to `.ispell_words', so normally you don't
- have to worry about the file. You may want to check it from time to
- time to make sure you have not accidentally inserted a misspelled word.
-
- File: ispell.info, Node: Command summary, Next: Near misses, Prev: Private, Up: Top
-
- All commands in emacs mode
- ==========================
-
- `DIGIT'
- Select a near miss
-
- `I'
- Insert into private dictionary
-
- `A'
- Accept for this session
-
- `SPC'
- Skip this time
-
- `R'
- Replace with one or more words
-
- `L'
- Lookup: search the dictionary using a regular expression
-
- `M-$'
- Check word
-
- `M-x ispell-buffer'
- Check buffer
-
- `M-x ispell-region'
- Check region
-
- `M-x ispell-change-dictionary'
- Select different dictionary.
-
- File: ispell.info, Node: Near misses, Next: History, Prev: Command summary, Up: Top
-
- Definition of a near miss
- =========================
-
- Two words are near each other if they can be made identical with one
- of the following changes to one of the words:
-
- Insert a blank space
- Interchange two adjacent letters.
- Change one letter.
- Delete one letter.
- Add one letter.
-
- Someday, perhaps ispell will be extended so that words that sound
- alike would also be considered near misses. If you would like to
- implement this, see Knuth, Volume 3, page 392 for a description of the
- Soundex algorithm which might apply.
-
- File: ispell.info, Node: History, Prev: Near misses, Up: Top
-
- Where it came from
- ==================
-
- Ispell has a long and convoluted history. Originally called SPELL,
- it was written by Ralph E. Gorin in 1971. That version was written in
- assembly language for the DEC PDP-10 to run under the WAITS operating
- system at the Stanford Artificial Intelligence Laboratory. Subsequent
- versions, also in PDP-10 assembly language, were developed for the BBN
- TENEX, MIT ITS, and DEC TOPS-10 and TOPS-20 operating systems. It was
- later revised by W. E. Matson (1974), and W. B. Ackerman (1978),
- changing its name to ISPELL in the process.
-
- In 1983, Pace Willisson (pace@ai.mit.edu) converted this version to
- the C language and modified it to work under Unix.
-
- In 1987, Walt Buehring revised and enhanced ispell, and posted it to
- the Usenet along with a dictionary. In addition, Walt wrote the first
- version of "ispell.el", the emacs interface.
-
- Geoff Kuenning (geoff@ITcorp.com, that's me, and by the way I
- pronounce it "Kenning") picked up this version, fixed many bugs, and
- added further enhancements. In 1988 I got ambitious and rewrote major
- portions of the code, resulting in the table-driven multi-lingual
- version. Ken Stevens (stevens@hplabs.hp.com) made overwhelming
- contributions to the elisp support to produce the version you are using
- now.
-
- Due to a misunderstanding involving the Free Software Foundation, it
- later became necessary to rename this version to ispell to avoid
- confusion on the part of users.
-
- Many other enhancements and bug fixes were provided by other people.
- Although I omit mention here due to space, many of these people have
- also made significant contributions to the version of ispell you see
- here. For a full list of people who have contributed to ispell, refer
- to the file `Contributors' which is distributed with the ispell sources.
-
- Geoff Kuenning
- geoff@ITcorp.com
-
- Tag Table:
- Node: Top1347
- Node: Emacs2006
- Node: Word2296
- Node: Buffer4853
- Node: Region5422
- Node: Multiple Dictionaries5734
- Node: Old Emacs8248
- Node: Private8929
- Node: Command summary9583
- Node: Near misses10139
- Node: History10781
- End Tag Table
-